package sanshui.system.trade.model;

import io.swagger.annotations.ApiModelProperty;
import io.swagger.annotations.ApiParam;
import lombok.Data;
import lombok.ToString;

import java.util.List;

@Data
@ToString
public class AddBackTradeModel {
    Integer pageNum;
    Integer pageSize;
    Long userId;
    Long accId;
    Long workerId;
    String workerStatus;
    @ApiParam(required = false)
    @ApiModelProperty(value = "账户描述")
    String accDesc;
    @ApiModelProperty(value = "量化交易账户TOKEN信息")
    AccLoginInfoModel accLoginInfoModel;
    @ApiParam(required = false, defaultValue = "T1")
    @ApiModelProperty(value = "交易系统名称")
    String tradeName;
    @ApiParam(required = false, defaultValue = "T1")
    @ApiModelProperty(value = "市场数据类型：T0、T1")
    String dataMarketType;

    @ApiParam(required = false, defaultValue = "A_GU")
    @ApiModelProperty(value = "市场类型：A_GU,OKE")
    String tradeMarketKey;

    @ApiParam(required = false, defaultValue = "BACK_TRADE")
    @ApiModelProperty(value = "交易系统类型：RT,BACK_TRADE")
    String tradeSystemType;

    @ApiParam(required = false, defaultValue = "")
    @ApiModelProperty(value = "固定选股标的，则从池子里面选股")
    String chooseTarget;


    @ApiParam(required = false, defaultValue = "DEFAULT")
    @ApiModelProperty(value = "交易策略：DEFAULT")
    String strategy;
    @ApiParam(required = false, defaultValue = "DEFAULT")
    @ApiModelProperty(value = "风控策略：DEFAULT")
    String riskStrategy;

    @ApiParam(required = false, defaultValue = "20250101150000")
    @ApiModelProperty(value = "数据开始时间")
    String startTime;
    @ApiParam(required = false, defaultValue = "20250201150000")
    @ApiModelProperty(value = "数据结束时间")
    String endTime;
    @ApiParam(required = false, defaultValue = "1d")
    @ApiModelProperty(value = "数据频率时间")
    String frequency;
    @ApiModelProperty(value = "需要睡眠时间")
    Long millis;
    @ApiModelProperty(value = "需要过滤的板块：创业板？科创板？")
    String filterModel;
    @ApiParam(required = false, defaultValue = "1000")
    @ApiModelProperty(value = "账户初始价值")
    String initValue;
    @ApiParam(required = false, defaultValue = "0")
    @ApiModelProperty(value = "账户当前价值")
    String currentValue;
    @ApiParam(required = false, defaultValue = "0")
    @ApiModelProperty(value = "账户当前现金")
    String currentCash = initValue;
    @ApiParam(required = false)
    @ApiModelProperty(value = "小数点位数")
    private String priceAround;
    @ApiParam(required = false, defaultValue = "100")
    @ApiModelProperty(value = "最少交易数量")
    private String numAround;
    @ApiModelProperty(value = "手续费小数点，默认百万")
    private String feeRateAround;
    @ApiParam(required = false, defaultValue = "0")
    @ApiModelProperty(value = "买入，过户手续费")
    private String buyFeeRateGuo;
    @ApiParam(required = false, defaultValue = "0")
    @ApiModelProperty(value = "买入，券商手续费")
    private String buyFeeRateQuan;
    @ApiParam(required = false, defaultValue = "0")
    @ApiModelProperty(value = "卖出，券商手续费")
    private String sellFeeRateQuan;
    @ApiParam(required = false, defaultValue = "0")
    @ApiModelProperty(value = "卖出，印花手续费")
    private String sellFeeRateYin;
    @ApiParam(required = false, defaultValue = "0")
    @ApiModelProperty(value = "卖出，过户手续费")
    private String sellFeeRateGuo;
    @ApiParam(required = false, defaultValue = "0")
    @ApiModelProperty(value = "买入，固定手续费")
    private String buyFixedFee;
    @ApiParam(required = false, defaultValue = "0")
    @ApiModelProperty(value = "卖出，固定手续费")
    private String sellFixedFee;
    String updateTime;
}
